<!doctype html>
<html class="default no-js">
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<title>AnimationTrigger | GoJS API</title>
	<meta name="description" content="Documentation for GoJS API">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<link rel="stylesheet" href="../../assets/css/style.css">
	<link rel="stylesheet" href="../assets/css/main.css">
	<script async src="../assets/js/search.js" id="search-script"></script>
</head>
<body>
<header>
	<nav id="navTop" class="w-full z-30 top-0 text-white bg-nwoods-primary">
		<div class="w-full container max-w-screen-lg mx-auto flex flex-wrap sm:flex-nowrap items-center justify-between mt-0 py-2">
			<div class="md:pl-4">
				<a class="text-white hover:text-white no-underline hover:no-underline
				font-bold text-2xl lg:text-4xl rounded-lg hover:bg-nwoods-secondary" href="../../index.html">
				<h1 class="mb-0 p-1 leading-none">GoJS</h1>
				</a>
			</div>
			<button id="topnavButton" class="rounded-lg sm:hidden focus:outline-none focus:ring" aria-label="Navigation">
				<svg fill="currentColor" viewBox="0 0 20 20" class="w-6 h-6">
					<path id="topnavOpen" fill-rule="evenodd" d="M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM9 15a1 1 0 011-1h6a1 1 0 110 2h-6a1 1 0 01-1-1z" clip-rule="evenodd"></path>
					<path id="topnavClosed" class="hidden" fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
				</svg>
			</button>
			<div id="topnavList" class="hidden sm:block items-center w-auto mt-0 text-white p-0 z-20">
				<ul class="list-reset list-none font-semibold flex justify-end flex-wrap sm:flex-nowrap items-center px-0 pb-0">
					<li class="p-1 sm:p-0"><a class="topnav-link" href="../../learn/index.html">Learn</a></li>
					<li class="p-1 sm:p-0"><a class="topnav-link" href="../../samples/index.html">Samples</a></li>
					<li class="p-1 sm:p-0"><a class="topnav-link" href="../../intro/index.html">Intro</a></li>
					<li class="p-1 sm:p-0"><a class="topnav-link" href="../../api/index.html">API</a></li>
					<li class="p-1 sm:p-0"><a class="topnav-link" href="https://www.nwoods.com/products/register.html">Register</a></li>
					<li class="p-1 sm:p-0"><a class="topnav-link" href="../../download.html">Download</a></li>
					<li class="p-1 sm:p-0"><a class="topnav-link" href="https://forum.nwoods.com/c/gojs/11">Forum</a></li>
					<li class="p-1 sm:p-0"><a class="topnav-link" href="https://www.nwoods.com/contact.html"
					target="_blank" rel="noopener" onclick="getOutboundLink('https://www.nwoods.com/contact.html', 'contact');">Contact</a></li>
					<li class="p-1 sm:p-0"><a class="topnav-link" href="https://www.nwoods.com/sales/index.html"
					target="_blank"rel="noopener" onclick="getOutboundLink('https://www.nwoods.com/sales/index.html', 'buy');">Buy</a></li>
				</ul>
			</div>
		</div>
		<hr class="border-b border-gray-600 opacity-50 my-0 py-0" />
	</nav>
	<div class="tsd tsd-page-header">
		<div class="tsd-page-toolbar">
			<div class="w-full max-w-screen-xl mx-auto px-2">
				<div class="table-wrap">
					<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
						<div class="field">
							<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
							<input id="tsd-search-field" type="text" />
						</div>
						<ul class="results">
							<li class="state loading">Preparing search index...</li>
							<li class="state failure">The search index is not available</li>
						</ul>
						<a href="../index.html" class="title">GoJS API</a>
					</div>
					<div class="table-cell" id="tsd-widgets">
						<div id="tsd-filter">
							<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
							<div class="tsd-filter-group">
								<div class="tsd-select" id="tsd-filter-visibility">
									<span class="tsd-select-label">All</span>
									<ul class="tsd-select-list">
										<li data-value="public">Public</li>
										<li data-value="protected">Public/Protected</li>
										<li data-value="private" class="selected">All</li>
									</ul>
								</div>
							</div>
						</div>
						<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
					</div>
				</div>
			</div>
		</div>
		<div class="tsd tsd-page-title">
			<div class="w-full max-w-screen-xl mx-auto px-2">
				<div class="top-copyright">
					<b>GoJS</b>&reg; Diagramming Components<br/>version 2.1.56<br/>by <a href="https://www.nwoods.com/">Northwoods Software&reg;</a>
				</div>
				<div>
					<h1>Class AnimationTrigger</h1>
				</div>
			</div>
		</div>
	</div>
</header>
<div class="tsd w-full max-w-screen-xl mx-auto pb-4">
	<div class="row px-2 w-full">
		<div class="col-8 col-content">
			<section class="tsd-panel tsd-hierarchy">
				<h3>Hierarchy</h3>
				<ul class="tsd-hierarchy">
					<li>
						<span class="target">AnimationTrigger</span>
					</li>
				</ul>
			</section>
			<section class="tsd-panel tsd-comment">
				<div class="tsd-comment tsd-typography">
					<p>An AnimationTrigger describes how to automatically animate a property on a <a href="GraphObject.html">GraphObject</a>
						when it changes value.
					The target property name is a string, and all name matching is case-sensitive.</p>
					<p>Triggers will be shared by all copies of the template&#39;s GraphObjects.
					You can include AnimationTriggers in your templates just like <a href="Binding.html">Binding</a>s are included:</p>
					<pre><code class="language-js"><span style="color: #DCDCAA">$</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">go</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Panel</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&quot;Vertical&quot;</span><span style="color: #D4D4D4">,</span>
<span style="color: #D4D4D4">  </span><span style="color: #6A9955">// This trigger uses the default value of AnimationTrigger.startCondition:</span>
<span style="color: #D4D4D4">  </span><span style="color: #6A9955">// If a transaction is ongoing and Panel.position is changed, this trigger will animate</span>
<span style="color: #D4D4D4">  </span><span style="color: #6A9955">// all changes to Panel.position at the end of the next transaction, in one bundled Animation.</span>
<span style="color: #D4D4D4">  </span><span style="color: #6A9955">// If no transaction is ongoing, then it will animate this value immediately.</span>
<span style="color: #D4D4D4">  </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">go</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">AnimationTrigger</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;position&quot;</span><span style="color: #D4D4D4">),</span>
<span style="color: #D4D4D4">  {</span>
<span style="color: #D4D4D4">    </span><span style="color: #6A9955">// ... Panel properties</span>
<span style="color: #D4D4D4">  },</span>
<span style="color: #D4D4D4">  </span><span style="color: #DCDCAA">$</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">go</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Shape</span><span style="color: #D4D4D4">,</span>
<span style="color: #D4D4D4">    </span><span style="color: #6A9955">// Animate all changes to Shape.opacity immediately</span>
<span style="color: #D4D4D4">    </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">go</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">AnimationTrigger</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;opacity&quot;</span><span style="color: #D4D4D4">, </span><span style="color: #569CD6">null</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">go</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">AnimationTrigger</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Immediate</span><span style="color: #D4D4D4">),</span>
<span style="color: #D4D4D4">    {</span>
<span style="color: #D4D4D4">     </span><span style="color: #6A9955">// ... Shape properties</span>
<span style="color: #D4D4D4">    }</span>
<span style="color: #D4D4D4">  )</span>
</code></pre>
					<p>When the <a href="AnimationTrigger.html#startCondition">startCondition</a> is <a href="AnimationTrigger.html#static-Default">AnimationTrigger.Default</a>,
						GoJS will attempt to <a href="AnimationTrigger.html#static-Bundled">AnimationTrigger.Bundled</a> or <a href="AnimationTrigger.html#static-Immediate">AnimationTrigger.Immediate</a> based on the state of the transaction.
						If no transaction is ongoing, this trigger will treat the default as using <a href="AnimationTrigger.html#static-Immediate">AnimationTrigger.Immediate</a>.
					Otherwise it will work as <a href="AnimationTrigger.html#static-Bundled">AnimationTrigger.Bundled</a>.</p>
					<p>When the <a href="AnimationTrigger.html#startCondition">startCondition</a> is <a href="AnimationTrigger.html#static-Bundled">AnimationTrigger.Bundled</a>,
						the AnimationManager will use the default animation to prepare a single Animation that begins when the current transaction has ended.
					This animation may be canceled if a new transaction is started.</p>
					<p>When the <a href="AnimationTrigger.html#startCondition">startCondition</a> is <a href="AnimationTrigger.html#static-Immediate">AnimationTrigger.Immediate</a>,
						a new animation will be created for every instance of the property changed, and started immediately,
						and run until completion. This may be useful for cosmetic changes, such as animating
					the opacity or color of an object on mouseEnter or mouseLeave.</p>
					<p>You can only specify properties that exist on the GraphObject, and are also registered with <a href="AnimationManager.html#static-defineAnimationEffect">AnimationManager.defineAnimationEffect</a>.
					By default these properties are:</p>
					<ul>
						<li><code>&quot;position&quot;</code></li>
						<li><code>&quot;location&quot;</code> (on Parts)</li>
						<li><code>&quot;scale&quot;</code></li>
						<li><code>&quot;opacity&quot;</code></li>
						<li><code>&quot;angle&quot;</code></li>
						<li><code>&quot;desiredSize&quot;</code></li>
						<li><code>&quot;width&quot;</code></li>
						<li><code>&quot;height&quot;</code></li>
						<li><code>&quot;background&quot;</code></li>
						<li><code>&quot;areaBackground&quot;</code></li>
						<li><code>&quot;fill&quot;</code> (on Shapes)</li>
						<li><code>&quot;strokeWidth&quot;</code> (on Shapes)</li>
						<li><code>&quot;strokeDashOffset&quot;</code> (on Shapes)</li>
						<li><code>&quot;stroke&quot;</code> (on Shapes, TextBlocks)</li>
					</ul>
					<p>Examples of defining additional animation properties are given in the <a href="../../intro/animation.html">Introduction Page on Animations</a>.</p>
					<dl class="tsd-comment-tags">
						<dt>since</dt>
						<dd><p>2.1</p>
						</dd>
					</dl>
				</div>
			</section>
			<section class="tsd-panel-group tsd-index-group">
				<h2>Index</h2>
				<section class="tsd-panel tsd-index-panel">
					<div class="tsd-index-content">
						<section class="tsd-index-section ">
							<h3>Constructors</h3>
							<ul class="tsd-index-list">
								<li class="tsd-kind-constructor tsd-parent-kind-class"><a href="AnimationTrigger.html#constructor" class="tsd-kind-icon">constructor</a></li>
							</ul>
						</section>
						<section class="tsd-index-section ">
							<h3>Properties</h3>
							<ul class="tsd-index-list">
								<li class="tsd-kind-accessor tsd-parent-kind-class"><a href="AnimationTrigger.html#animationSettings" class="tsd-kind-icon">animation<wbr>Settings</a></li>
								<li class="tsd-kind-accessor tsd-parent-kind-class"><a href="AnimationTrigger.html#propertyName" class="tsd-kind-icon">property<wbr>Name</a></li>
								<li class="tsd-kind-accessor tsd-parent-kind-class"><a href="AnimationTrigger.html#startCondition" class="tsd-kind-icon">start<wbr>Condition</a></li>
							</ul>
						</section>
						<section class="tsd-index-section ">
							<h3>Methods</h3>
							<ul class="tsd-index-list">
								<li class="tsd-kind-method tsd-parent-kind-class"><a href="AnimationTrigger.html#copy" class="tsd-kind-icon">copy</a></li>
							</ul>
						</section>
						<section class="tsd-index-section ">
							<h3>Constants</h3>
							<ul class="tsd-index-list">
								<li class="tsd-kind-constant tsd-parent-kind-class tsd-is-static"><a href="AnimationTrigger.html#static-Bundled" class="tsd-kind-icon">Bundled</a></li>
								<li class="tsd-kind-constant tsd-parent-kind-class tsd-is-static"><a href="AnimationTrigger.html#static-Default" class="tsd-kind-icon">Default</a></li>
								<li class="tsd-kind-constant tsd-parent-kind-class tsd-is-static"><a href="AnimationTrigger.html#static-Immediate" class="tsd-kind-icon">Immediate</a></li>
							</ul>
						</section>
					</div>
				</section>
			</section>
			<section class="tsd-panel-group tsd-member-group ">
				<h2>Constructors</h2>
				<section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class">
					<a name="constructor" class="tsd-anchor"></a>
					<h3>
						constructor
					</h3>
					<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
						<li class="tsd-signature tsd-kind-icon">new <wbr>Animation<wbr>Trigger<span class="tsd-signature-symbol">(</span>propertyName<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, animationSettings<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">{ </span>duration<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>easing<span class="tsd-signature-symbol">?: </span><a href="../index.html#EasingFunction" class="tsd-signature-type" data-tsd-kind="Type alias">EasingFunction</a><span class="tsd-signature-symbol">; </span>finished<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">(</span>animation<span class="tsd-signature-symbol">: </span><a href="Animation.html" class="tsd-signature-type" data-tsd-kind="Class">Animation</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol"> }</span>, startCondition<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">EnumValue</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="AnimationTrigger.html" class="tsd-signature-type" data-tsd-kind="Class">AnimationTrigger</a></li>
					</ul>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>This constructor creates an AnimationTrigger. These are typically constructed within Part templates.
								Using <a href="GraphObject.html#static-make">GraphObject.make</a> it might look like:</p>
								<pre><code class="language-js"><span style="color: #D4D4D4"> </span><span style="color: #569CD6">var</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">$</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">go</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">GraphObject</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">make</span><span style="color: #D4D4D4">;</span>

<span style="color: #D4D4D4">   </span><span style="color: #6A9955">// ...</span>
<span style="color: #D4D4D4">   </span><span style="color: #DCDCAA">$</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">go</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Shape</span><span style="color: #D4D4D4">,</span>
<span style="color: #D4D4D4">     </span><span style="color: #6A9955">// Animate all changes to Shape.opacity immediately</span>
<span style="color: #D4D4D4">     </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">go</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">AnimationTrigger</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;opacity&quot;</span><span style="color: #D4D4D4">, </span><span style="color: #569CD6">null</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">go</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">AnimationTrigger</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Immediate</span><span style="color: #D4D4D4">),</span>
<span style="color: #D4D4D4">     {</span>
<span style="color: #D4D4D4">      </span><span style="color: #6A9955">// ...</span>
<span style="color: #D4D4D4">     }</span>
<span style="color: #D4D4D4">   )</span>
</code></pre>
							</div>
							<h4 class="tsd-parameters-title">Parameters</h4>
							<ul class="tsd-parameters">
								<li>
									<h5>propertyName: <span class="tsd-signature-type">string</span></h5>
									<div class="tsd-comment tsd-typography">
										<p>A string naming the target property to animate.
										This should not be the empty string.</p>
									</div>
								</li>
								<li>
									<h5><span class="tsd-flag ts-flagOptional">Optional</span> animationSettings: <span class="tsd-signature-symbol">{ </span>duration<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>easing<span class="tsd-signature-symbol">?: </span><a href="../index.html#EasingFunction" class="tsd-signature-type" data-tsd-kind="Type alias">EasingFunction</a><span class="tsd-signature-symbol">; </span>finished<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">(</span>animation<span class="tsd-signature-symbol">: </span><a href="Animation.html" class="tsd-signature-type" data-tsd-kind="Class">Animation</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol"> }</span></h5>
									<div class="tsd-comment tsd-typography">
										<p>An optional Object describing properties to set on animations created by this AnimationTrigger.
											See the <a href="AnimationTrigger.html#animationSettings">animationSettings</a> property for detail.
										If specified, this also sets the <a href="AnimationTrigger.html#startCondition">startCondition</a> to <a href="AnimationTrigger.html#static-Immediate">AnimationTrigger.Immediate</a>.</p>
									</div>
									<ul class="tsd-parameters">
										<li class="tsd-parameter">
											<h5><span class="tsd-flag ts-flagOptional">Optional</span> duration<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span></h5>
										</li>
										<li class="tsd-parameter">
											<h5><span class="tsd-flag ts-flagOptional">Optional</span> easing<span class="tsd-signature-symbol">?: </span><a href="../index.html#EasingFunction" class="tsd-signature-type" data-tsd-kind="Type alias">EasingFunction</a></h5>
										</li>
										<li class="tsd-parameter">
											<h5><span class="tsd-flag ts-flagOptional">Optional</span> finished<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">(</span>animation<span class="tsd-signature-symbol">: </span><a href="Animation.html" class="tsd-signature-type" data-tsd-kind="Class">Animation</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></h5>
											<ul class="tsd-parameters">
											</ul>
										</li>
									</ul>
								</li>
								<li>
									<h5><span class="tsd-flag ts-flagOptional">Optional</span> startCondition: <span class="tsd-signature-type">EnumValue</span></h5>
									<div class="tsd-comment tsd-typography">
										<p>An optional EnumValue to set the <a href="AnimationTrigger.html#startCondition">startCondition</a> property.</p>
									</div>
								</li>
							</ul>
							<h4 class="tsd-returns-title">Returns <a href="AnimationTrigger.html" class="tsd-signature-type" data-tsd-kind="Class">AnimationTrigger</a></h4>
						</li>
					</ul>
				</section>
			</section>
			<section class="tsd-panel-group tsd-member-group ">
				<h2>Properties</h2>
				<section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class">
					<a name="animationSettings" class="tsd-anchor"></a>
					<h3>
						animation<wbr>Settings
					<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>duration<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>easing<span class="tsd-signature-symbol">?: </span><a href="../index.html#EasingFunction" class="tsd-signature-type" data-tsd-kind="Type alias">EasingFunction</a><span class="tsd-signature-symbol">; </span>finished<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">(</span>animation<span class="tsd-signature-symbol">: </span><a href="Animation.html" class="tsd-signature-type" data-tsd-kind="Class">Animation</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol"> }</span>        </h3>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>These settings are only used if the <a href="AnimationTrigger.html#startCondition">startCondition</a> is <a href="AnimationTrigger.html#static-Immediate">AnimationTrigger.Immediate</a>.
								Creating a new AnimationTrigger with animationSettings in the constructor automatically sets <a href="AnimationTrigger.html#startCondition">startCondition</a> to <a href="AnimationTrigger.html#static-Immediate">AnimationTrigger.Immediate</a></p>
								<p>This gets or sets the settings for any <a href="Animation.html">Animation</a>s this trigger creates.
								Immediate triggers create a new Animation with each triggering, and apply these settings to that Animation.</p>
								<p>This can be set to an object with a subset of possible <a href="Animation.html">Animation</a> settings. The default value is <code>null</code>, which keeps default Animation settings.</p>
								<p>Since a <a href="AnimationTrigger.html#startCondition">startCondition</a> of <a href="AnimationTrigger.html#static-Bundled">AnimationTrigger.Bundled</a> uses the default animation,
								you must set the properties of <a href="AnimationManager.html#defaultAnimation">AnimationManager.defaultAnimation</a>, and not this property, to modify the animation settings.</p>
								<p>To set default settings for <em>all</em> created Animations, you can modify the settings on <a href="AnimationManager.html">AnimationManager</a> instead, such as <a href="AnimationManager.html#duration">AnimationManager.duration</a>.</p>
								<p>Possible properties to set in this object are:</p>
								<ul>
									<li><strong>duration</strong>: a <code>number</code>, corresponding to <a href="Animation.html#duration">Animation.duration</a>.</li>
									<li><strong>finished</strong>: a <code>Function</code>, corresponding to <a href="Animation.html#finished">Animation.finished</a>.</li>
									<li><strong>easing</strong>: an <code>EasingFunction</code>, corresponding to <a href="Animation.html#easing">Animation.easing</a>.</li>
								</ul>
							</div>
						</li>
					</ul>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class">
					<a name="propertyName" class="tsd-anchor"></a>
					<h3>
						property<wbr>Name
					<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>        </h3>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>Gets or sets the name of the property to animate on the target <a href="GraphObject.html">GraphObject</a>.
								The default value is set during constructor initalization.</p>
								<p>You can only specify properties that exist on the GraphObject, and are also registered with <a href="AnimationManager.html#static-defineAnimationEffect">AnimationManager.defineAnimationEffect</a>.
								By default these properties are the same as the list of possible Animation effects:</p>
								<ul>
									<li><code>&quot;position&quot;</code></li>
									<li><code>&quot;location&quot;</code> (on Parts)</li>
									<li><code>&quot;scale&quot;</code></li>
									<li><code>&quot;opacity&quot;</code></li>
									<li><code>&quot;angle&quot;</code></li>
									<li><code>&quot;desiredSize&quot;</code></li>
									<li><code>&quot;width&quot;</code></li>
									<li><code>&quot;height&quot;</code></li>
									<li><code>&quot;background&quot;</code></li>
									<li><code>&quot;areaBackground&quot;</code></li>
									<li><code>&quot;fill&quot;</code> (on Shapes)</li>
									<li><code>&quot;strokeWidth&quot;</code> (on Shapes)</li>
									<li><code>&quot;strokeDashOffset&quot;</code> (on Shapes)</li>
									<li><code>&quot;stroke&quot;</code> (on Shapes, TextBlocks)</li>
								</ul>
								<p>Examples of defining additional properties by adding animation effects are given in the <a href="../../intro/animation.html">Introduction Page on Animations</a>.</p>
							</div>
						</li>
					</ul>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class">
					<a name="startCondition" class="tsd-anchor"></a>
					<h3>
						start<wbr>Condition
					<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">EnumValue</span>        </h3>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>Gets or sets the starting condition for this trigger.</p>
								<p>AnimationTriggers can invoke an animation immediately,
									starting a new animation with each property of each GraphObject that has been modified,
									or they can (more efficiently) be bundled together into the default animation (<a href="AnimationManager.html#defaultAnimation">AnimationManager.defaultAnimation</a>)
								and begin only one animation, at the end of the next transaction.</p>
								<p>It is useful for the startCondition to be <a href="AnimationTrigger.html#static-Immediate">AnimationTrigger.Immediate</a> when changing GraphObject properties
									on <a href="GraphObject.html#mouseEnter">GraphObject.mouseEnter</a> or <a href="GraphObject.html#mouseLeave">GraphObject.mouseLeave</a>.
									It is useful for the startCondition  to be <a href="AnimationTrigger.html#static-Bundled">AnimationTrigger.Bundled</a> when changing several GraphObject properties together,
								such as when highlighting multiple parts, on selection changes, and during transactions, or when performance is a consideration.</p>
								<p>These behaviors can be set with the values <a href="AnimationTrigger.html#static-Immediate">AnimationTrigger.Immediate</a> and <a href="AnimationTrigger.html#static-Bundled">AnimationTrigger.Bundled</a>, respectively.
									The default value, <a href="AnimationTrigger.html#static-Default">AnimationTrigger.Default</a>, attempts to infer which is best:
									It will start immediately if there is no ongoing transaction
								or if <a href="Diagram.html#skipsUndoManager">Diagram.skipsUndoManager</a> is true, and otherwise bundle them.</p>
							</div>
						</li>
					</ul>
				</section>
			</section>
			<section class="tsd-panel-group tsd-member-group ">
				<h2>Methods</h2>
				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
					<a name="copy" class="tsd-anchor"></a>
					<h3>
						<span class="tsd-flag ts-flagVirtual">Virtual</span>
						copy
					</h3>
					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
						<li class="tsd-signature tsd-kind-icon">copy<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="AnimationTrigger.html" class="tsd-signature-type" data-tsd-kind="Class">AnimationTrigger</a></li>
					</ul>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>Create a copy of this AnimationTrigger, with the same property values.</p>
							</div>
							<h4 class="tsd-returns-title">Returns <a href="AnimationTrigger.html" class="tsd-signature-type" data-tsd-kind="Class">AnimationTrigger</a></h4>
						</li>
					</ul>
				</section>
			</section>
			<section class="tsd-panel-group tsd-member-group ">
				<h2>Constants</h2>
				<section class="tsd-panel tsd-member tsd-kind-constant tsd-parent-kind-class tsd-is-static">
					<a name="static-Bundled" class="tsd-anchor"></a>
					<h3>
						<span class="tsd-flag ts-flagStatic">Static</span>
						Bundled
					<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">EnumValue</span>        </h3>
					<div class="tsd-comment tsd-typography">
						<p>Used as a value for <a href="AnimationTrigger.html#startCondition">startCondition</a>.
							The AnimationManager will use the default animation to prepare a single Animation that begins when the current transaction has ended.
						This animation may be canceled if a new transaction is started.</p>
					</div>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-constant tsd-parent-kind-class tsd-is-static">
					<a name="static-Default" class="tsd-anchor"></a>
					<h3>
						<span class="tsd-flag ts-flagStatic">Static</span>
						Default
					<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">EnumValue</span>        </h3>
					<div class="tsd-comment tsd-typography">
						<p>Used as a value for <a href="AnimationTrigger.html#startCondition">startCondition</a>.
							GoJS will attempt to <a href="AnimationTrigger.html#static-Bundled">AnimationTrigger.Bundled</a> or <a href="AnimationTrigger.html#static-Immediate">AnimationTrigger.Immediate</a> based on the state of the transaction.
							If no transaction is ongoing, this trigger will be treated as using <a href="AnimationTrigger.html#static-Immediate">AnimationTrigger.Immediate</a>,
						otherwise it will work as <a href="AnimationTrigger.html#static-Bundled">AnimationTrigger.Bundled</a>.</p>
					</div>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-constant tsd-parent-kind-class tsd-is-static">
					<a name="static-Immediate" class="tsd-anchor"></a>
					<h3>
						<span class="tsd-flag ts-flagStatic">Static</span>
						Immediate
					<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">EnumValue</span>        </h3>
					<div class="tsd-comment tsd-typography">
						<p>Used as a value for <a href="AnimationTrigger.html#startCondition">startCondition</a>.
							A new animation will be created for every instance of the property changed, and started immediately,
							and run until completion. This may be useful for cosmetic changes, such as animating
							the opacity or color of an object on mouseEnter or mouseLeave.
						However, using <a href="AnimationTrigger.html#static-Bundled">AnimationTrigger.Bundled</a> may be more efficient, as it will create fewer</p>
					</div>
				</section>
			</section>
		</div>
		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
			<nav class="tsd-navigation primary">
				<ul>
					<li class=" ">
						<a href="../index.html">GoJS <wbr>Class <wbr>Index</a>
					</li>
				</ul>
			</nav>
			<nav class="tsd-navigation secondary menu-sticky">
				<ul class="before-current">
				</ul>
				<ul class="current">
					<li class="current tsd-kind-class">
						<a href="AnimationTrigger.html" class="tsd-kind-icon">Animation<wbr>Trigger</a>
						<ul>
							<li class=" tsd-kind-constructor tsd-parent-kind-class">
								<a href="AnimationTrigger.html#constructor" class="tsd-kind-icon">constructor</a>
							</li>
							<li class=" tsd-kind-accessor tsd-parent-kind-class">
								<a href="AnimationTrigger.html#animationSettings" class="tsd-kind-icon">animation<wbr>Settings</a>
							</li>
							<li class=" tsd-kind-accessor tsd-parent-kind-class">
								<a href="AnimationTrigger.html#propertyName" class="tsd-kind-icon">property<wbr>Name</a>
							</li>
							<li class=" tsd-kind-accessor tsd-parent-kind-class">
								<a href="AnimationTrigger.html#startCondition" class="tsd-kind-icon">start<wbr>Condition</a>
							</li>
							<li class=" tsd-kind-method tsd-parent-kind-class">
								<a href="AnimationTrigger.html#copy" class="tsd-kind-icon">copy</a>
							</li>
							<li class=" tsd-kind-constant tsd-parent-kind-class tsd-is-static">
								<a href="AnimationTrigger.html#static-Bundled" class="tsd-kind-icon">Bundled</a>
							</li>
							<li class=" tsd-kind-constant tsd-parent-kind-class tsd-is-static">
								<a href="AnimationTrigger.html#static-Default" class="tsd-kind-icon">Default</a>
							</li>
							<li class=" tsd-kind-constant tsd-parent-kind-class tsd-is-static">
								<a href="AnimationTrigger.html#static-Immediate" class="tsd-kind-icon">Immediate</a>
							</li>
						</ul>
					</li>
				</ul>
				<ul class="after-current">
				</ul>
			</nav>
		</div>
	</div>
</div>
<div class="tsd w-full max-w-screen-xl mx-auto px-2">
	<div class="bottom-copyright">Copyright &copy; 1998-2021 by Northwoods Software Corporation.</div>
</div>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-1506307-5"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date()); gtag('config', 'UA-1506307-5');
  var getOutboundLink = function(url, label) {
    gtag('event', 'click', {
      'event_category': 'outbound',
      'event_label': label,
      'transport_type': 'beacon'
    });
  }

  // topnav
  var topButton = document.getElementById("topnavButton");
  var topnavList = document.getElementById("topnavList");
  topButton.addEventListener("click", function() {
    this.classList.toggle("active");
    topnavList.classList.toggle("hidden");
    document.getElementById("topnavOpen").classList.toggle("hidden");
    document.getElementById("topnavClosed").classList.toggle("hidden");
  });
</script>
</body>
</html>